/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package responsabile;

import ejb.GestioneCompetenzeLocal;
import it.uninsieme.common.Utility;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.model.SelectItem;
import jpa.Competenza;

/**
 *
 * @author Administrator
 */
@ManagedBean(name="CompetenzeBean")
@RequestScoped
public class CompetenzeBean {

    @EJB
    GestioneCompetenzeLocal gcompetenze;

    private String materia;
    private String message;
    private String id;
    private List<SelectItem> listaCompetenze;
    private List<Competenza> competenze;

    /** Creates a new instance of CompetenzeBean */
    public CompetenzeBean() {
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public Collection<SelectItem> getlistaCompetenze() {
        listaCompetenze = new ArrayList<>();
        competenze = gcompetenze.listaCompetenze();
        for(Competenza p:competenze){
            listaCompetenze.add(new SelectItem(p.getId(),p.getMateria()));
        }
        Utility.ordinaListaLabel(listaCompetenze);
        return Collections.unmodifiableCollection(listaCompetenze);
    }

    public void setlistaCompetenze(List<SelectItem> listaCompetenze) {
        this.listaCompetenze = listaCompetenze;
    }

    public String getMateria() {
        return materia;
    }

    public void setMateria(String materia) {
        this.materia = materia;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message){
        this.message = message;
    }

    public String aggiungi(){
        Competenza cu = new Competenza();
        cu.setMateria(materia);
        boolean reg = gcompetenze.aggiungi(cu);
        if(!reg){
            message = ""+materia+" è già presente nel database";
            return "errore";
        }
        message = "Competenza aggiunta correttamente";
        return "RegistrazioneOK";
    }

    public String elimina() {
        boolean reg = gcompetenze.rimuovi(new Integer(id));
        if(reg == false){
            message = ""+materia+" è già presente nel database";
            return "errore";
        }
        message = "Competenza eliminata correttamente";
        return "RegistrazioneOK";
    }

}
